<html>
  <head> 
    <meta name="Title" content="documentation">
    <meta name="Author" content="Satya Prakash Tripathi">
    <meta name="Subject" content="XmlPlus Documentation">
    <meta name="Description" content="XmlPlus Documentation">
    <meta name="Keywords" content="browse XmlPlus tests, xml schema tests">
    <meta name="Language" content="English">
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
  <title>Tests</title> 
  <STYLE TYPE="text/css">
  <!-- BODY
   {
   font-family:sans-serif;
   }
    -->
  </STYLE>  
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-18904337-3']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head> 
<h2>Tests <hr NOSHADE SIZE=10 WIDTH=100%> </h2> <body> <form>
<ul>
<li> <a href="#Tests_w3c_tests_digtest">Tests/w3c_tests/digtest</a>
<li> <a href="#Tests_w3c_tests_stZ015">Tests/w3c_tests/stZ015</a>
<li> <a href="#Tests_w3c_tests_nist5">Tests/w3c_tests/nist5</a>
<li> <a href="#Tests_w3c_tests_stE080">Tests/w3c_tests/stE080</a>
<li> <a href="#Tests_w3c_tests_reDH7a">Tests/w3c_tests/reDH7a</a>
<li> <a href="#Tests_w3c_tests_ste099">Tests/w3c_tests/ste099</a>
<li> <a href="#Tests_w3c_tests_stG003">Tests/w3c_tests/stG003</a>
<li> <a href="#Tests_w3c_tests_stH005">Tests/w3c_tests/stH005</a>
<li> <a href="#Tests_xplus_tests_scExt3">Tests/xplus_tests/scExt3</a>
<li> <a href="#Tests_xplus_tests_includeTests">Tests/xplus_tests/includeTests</a>
<li> <a href="#Tests_xplus_tests_ccExtAny">Tests/xplus_tests/ccExtAny</a>
<li> <a href="#Tests_xplus_tests_ccRest2">Tests/xplus_tests/ccRest2</a>
<li> <a href="#Tests_xplus_tests_defaultTest">Tests/xplus_tests/defaultTest</a>
<li> <a href="#Tests_xplus_tests_scExt2">Tests/xplus_tests/scExt2</a>
<li> <a href="#Tests_xplus_tests_xsiTest">Tests/xplus_tests/xsiTest</a>
<li> <a href="#Tests_xplus_tests_scExt">Tests/xplus_tests/scExt</a>
<li> <a href="#Tests_xplus_tests_importTests">Tests/xplus_tests/importTests</a>
<li> <a href="#Tests_xplus_tests_ccExt2">Tests/xplus_tests/ccExt2</a>
<li> <a href="#Tests_xplus_tests_choiceOfSeq">Tests/xplus_tests/choiceOfSeq</a>
<li> <a href="#Tests_xplus_tests_ctAnyType">Tests/xplus_tests/ctAnyType</a>
<li> <a href="#Tests_xplus_tests_ccExt">Tests/xplus_tests/ccExt</a>
<li> <a href="#Tests_xplus_tests_ccRest3">Tests/xplus_tests/ccRest3</a>
<li> <a href="#Tests_xplus_tests_xsiTest3">Tests/xplus_tests/xsiTest3</a>
<li> <a href="#Tests_xplus_tests_fixedTest">Tests/xplus_tests/fixedTest</a>
<li> <a href="#Tests_xplus_tests_xsiTest2">Tests/xplus_tests/xsiTest2</a>
<li> <a href="#Tests_xplus_tests_nillableTest">Tests/xplus_tests/nillableTest</a>
<li> <a href="#Tests_xplus_tests_choice">Tests/xplus_tests/choice</a>
<li> <a href="#Tests_xplus_tests_ccRest">Tests/xplus_tests/ccRest</a>
<li> <a href="#Tests_xplus_tests_ccRest4">Tests/xplus_tests/ccRest4</a>
<li> <a href="#Tests_xplus_tests_scExt4">Tests/xplus_tests/scExt4</a>
<li> <a href="#Tests_xplus_tests_ctAnyTypeRest">Tests/xplus_tests/ctAnyTypeRest</a>
<li> <a href="#Tests_xplus_neg_tests_scRest2">Tests/xplus_neg_tests/scRest2</a>
<li> <a href="#Tests_xplus_neg_tests_ccExtAny">Tests/xplus_neg_tests/ccExtAny</a>
<li> <a href="#Tests_xplus_neg_tests_scRest4">Tests/xplus_neg_tests/scRest4</a>
<li> <a href="#Tests_xplus_neg_tests_scRest">Tests/xplus_neg_tests/scRest</a>
<li> <a href="#Tests_xplus_neg_tests_ccExt2">Tests/xplus_neg_tests/ccExt2</a>
<li> <a href="#Tests_xplus_neg_tests_stInvalidDerivation3">Tests/xplus_neg_tests/stInvalidDerivation3</a>
<li> <a href="#Tests_xplus_neg_tests_stInvalidDerivation1">Tests/xplus_neg_tests/stInvalidDerivation1</a>
<li> <a href="#Tests_xplus_neg_tests_scRest3">Tests/xplus_neg_tests/scRest3</a>
<li> <a href="#Tests_xplus_neg_tests_stInvalidDerivation2">Tests/xplus_neg_tests/stInvalidDerivation2</a>
</ul>
<br><br>
<h2><a name="Tests_w3c_tests_digtest">Tests/w3c_tests/digtest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_digtest_dig.xsd">Tests/w3c_tests/digtest/dig.xsd</a>
<li> <a href="#Tests_w3c_tests_digtest_nsaliases.xml">Tests/w3c_tests/digtest/nsaliases.xml</a>
<li> <a href="#Tests_w3c_tests_digtest_valid.xml">Tests/w3c_tests/digtest/valid.xml</a>
<li> <a href="#Tests_w3c_tests_digtest_main.cpp">Tests/w3c_tests/digtest/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_digtest_dig.xsd">Tests/w3c_tests/digtest/dig.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;!--
    A test case derived from http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd, which 
    has following header comment:
--&gt;

&lt;!-- Schema for XML Signatures
    http://www.w3.org/2000/09/xmldsig#
    $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $

    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
    of Technology, Institut National de Recherche en Informatique et en
    Automatique, Keio University). All Rights Reserved.
    http://www.w3.org/Consortium/Legal/

    This document is governed by the W3C Software License [1] as described
    in the FAQ [2].

    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
--&gt;


&lt;schema xmlns="http://www.w3.org/2001/XMLSchema"
      xmlns:ds="http://www.w3.org/2000/09/xmldsig"
      targetNamespace="http://www.w3.org/2000/09/xmldsig" &gt;

  &lt;element name="DSAKeyValue" type="ds:DSAKeyValueType"/&gt;

  &lt;complexType name="DSAKeyValueType"&gt;
    &lt;sequence&gt;
      &lt;sequence minOccurs="0"&gt;
        &lt;element name="P" type="string"/&gt;
        &lt;element name="Q" type="string"/&gt;
      &lt;/sequence&gt;
      &lt;element name="G" type="string" minOccurs="0"/&gt;
      &lt;element name="Y" type="string"/&gt;
      &lt;element name="J" type="string" minOccurs="0"/&gt;
      &lt;sequence minOccurs="0"&gt;
        &lt;element name="Seed" type="string"/&gt;
        &lt;element name="PgenCounter" type="string"/&gt;
      &lt;/sequence&gt;
    &lt;/sequence&gt;
  &lt;/complexType&gt;
&lt;/schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_digtest_nsaliases.xml">Tests/w3c_tests/digtest/nsaliases.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;nsaliases&gt;
  &lt;alias uri="http://www.w3.org/2000/09/xmldsig" toUrn="urn:xmldsig"/&gt;
&lt;/nsaliases&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_digtest_valid.xml">Tests/w3c_tests/digtest/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;ns1:DSAKeyValue xmlns:ns1="http://www.w3.org/2000/09/xmldsig"&gt;
  &lt;Y&gt;ctA8YGxrtngg/zKVvqEOefnwmViFztcnPBYPlJsvh6yKI4iDm68fnp4Mi3RrJ6bZAygFrUIQLxLjV+OJtgJAEto0xAs+Mehuq1DkSFEpP3oDzCTOsrOiS1DwQe4oIb7zVk/9l7aPtJMHW0LVlMdwZNFNNJoqMcT2ZfCPrfvYvQ0=&lt;/Y&gt;
&lt;/ns1:DSAKeyValue&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_digtest_main.cpp">Tests/w3c_tests/digtest/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "xmldsig/all-include.h"

void populateDocument(xmldsig::Document* xsdDoc);
void updateOrConsumeDocument(xmldsig::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;xmldsig::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;xmldsig::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(xmldsig::Document* xsdDoc)
{
  xsdDoc-&gt;element_DSAKeyValue()-&gt;set_Y("ctA8YGxrtngg/zKVvqEOefnwmViFztcnPBYPlJsvh6yKI4iDm68fnp4Mi3RrJ6bZAygFrUIQLxLjV+OJtgJAEto0xAs+Mehuq1DkSFEpP3oDzCTOsrOiS1DwQe4oIb7zVk/9l7aPtJMHW0LVlMdwZNFNNJoqMcT2ZfCPrfvYvQ0=");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(xmldsig::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_w3c_tests_stZ015">Tests/w3c_tests/stZ015</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_stZ015_stZ015.xsd">Tests/w3c_tests/stZ015/stZ015.xsd</a>
<li> <a href="#Tests_w3c_tests_stZ015_stZ015.xml">Tests/w3c_tests/stZ015/stZ015.xml</a>
<li> <a href="#Tests_w3c_tests_stZ015_valid.xml">Tests/w3c_tests/stZ015/valid.xml</a>
<li> <a href="#Tests_w3c_tests_stZ015_main.cpp">Tests/w3c_tests/stZ015/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_stZ015_stZ015.xsd">Tests/w3c_tests/stZ015/stZ015.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
   	
	&lt;xsd:element name="Root"&gt;
	  &lt;xsd:complexType&gt;
	    &lt;xsd:sequence&gt;
		&lt;xsd:element name="Total1" type="Base"/&gt;
		&lt;xsd:element name="Total2" type="Derived"/&gt;
 	    &lt;/xsd:sequence&gt;
	  &lt;/xsd:complexType&gt;
	&lt;/xsd:element&gt;
	

	&lt;xsd:simpleType name="Base"&gt;
	  &lt;xsd:restriction base="xsd:integer"&gt;
		&lt;xsd:totalDigits value="3"/&gt;
	  &lt;/xsd:restriction&gt;
	&lt;/xsd:simpleType&gt;            
 	
  &lt;xsd:simpleType name="Derived"&gt;
	  &lt;xsd:restriction base="Base"&gt;
	    &lt;xsd:minExclusive value="100"/&gt;
	  &lt;/xsd:restriction&gt;
	&lt;/xsd:simpleType&gt;
&lt;/xsd:schema&gt;


</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stZ015_stZ015.xml">Tests/w3c_tests/stZ015/stZ015.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="stZ015.xsd"&gt;
  &lt;Total1&gt;123&lt;/Total1&gt;
  &lt;Total2&gt;101&lt;/Total2&gt;
&lt;/Root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stZ015_valid.xml">Tests/w3c_tests/stZ015/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;Root&gt;
  &lt;Total1&gt;123&lt;/Total1&gt;
  &lt;Total2&gt;101&lt;/Total2&gt;
&lt;/Root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stZ015_main.cpp">Tests/w3c_tests/stZ015/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_Root()-&gt;set_Total1("123");
  xsdDoc-&gt;element_Root()-&gt;set_Total2("101");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_w3c_tests_nist5">Tests/w3c_tests/nist5</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_nist5_5.xsd">Tests/w3c_tests/nist5/5.xsd</a>
<li> <a href="#Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-1.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-1.xml</a>
<li> <a href="#Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-2.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-2.xml</a>
<li> <a href="#Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-3.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-3.xml</a>
<li> <a href="#Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-4.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-4.xml</a>
<li> <a href="#Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-5.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-5.xml</a>
<li> <a href="#Tests_w3c_tests_nist5_valid.xml">Tests/w3c_tests/nist5/valid.xml</a>
<li> <a href="#Tests_w3c_tests_nist5_main.cpp">Tests/w3c_tests/nist5/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_nist5_5.xsd">Tests/w3c_tests/nist5/5.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;schema xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:nist="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"
        targetNamespace="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"&gt;

  &lt;annotation&gt;
    &lt;documentation&gt;
      The National Institute of Standards and Technology.
      Conformance test for W3C XML Schema Part 2: Datatypes.
      Created Jan 13, 2004.

      File: NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd
      This schema specifies a datatype, NISTSchema-SV-IV-list-unsignedShort-pattern-5,
      which is derived by restriction of a list with item type unsignedShort
      by facet pattern with a value of: \d{1} \d{2} \d{3} \d{4} \d{5} \d{1} \d{2}
      This schema is intended to be valid with
      regard to the schema for schemas.
    &lt;/documentation&gt;
  &lt;/annotation&gt;

  &lt;element name="NISTSchema-SV-IV-list-unsignedShort-pattern-5" type="nist:NISTSchema-SV-IV-list-unsignedShort-pattern-5-Type"/&gt;

  &lt;simpleType name="listOfunsignedShort"&gt;
    &lt;list itemType="unsignedShort"/&gt;
  &lt;/simpleType&gt;

  &lt;simpleType name="NISTSchema-SV-IV-list-unsignedShort-pattern-5-Type"&gt;
    &lt;restriction base="nist:listOfunsignedShort"&gt;
      &lt;pattern value="\d{1} \d{2} \d{3} \d{4} \d{5} \d{1} \d{2}"/&gt;
    &lt;/restriction&gt;
  &lt;/simpleType&gt;

&lt;/schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-1.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-1.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;!--
      The National Institute of Standards and Technology.
      Conformance test for W3C XML Schema Part 2: Datatypes.
      Date: Jan 13, 2004.

      File name: NISTXML-SV-IV-list-unsignedShort-pattern-5-1.xml
      Description: XML instance number 1 in a series of 5.
      Schema location:
      NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd
      This instance is intended to be valid with
      regard to the defining schema.
--&gt;

&lt;NISTSchema-SV-IV-list-unsignedShort-pattern-5
    xmlns="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd"&gt;6 63 225 3222 63222 2 39&lt;/NISTSchema-SV-IV-list-unsignedShort-pattern-5&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-2.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-2.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;!--
      The National Institute of Standards and Technology.
      Conformance test for W3C XML Schema Part 2: Datatypes.
      Date: Jan 13, 2004.

      File name: NISTXML-SV-IV-list-unsignedShort-pattern-5-2.xml
      Description: XML instance number 2 in a series of 5.
      Schema location:
      NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd
      This instance is intended to be valid with
      regard to the defining schema.
--&gt;

&lt;NISTSchema-SV-IV-list-unsignedShort-pattern-5
    xmlns="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd"&gt;8 53 819 3323 62112 3 18&lt;/NISTSchema-SV-IV-list-unsignedShort-pattern-5&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-3.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-3.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;!--
      The National Institute of Standards and Technology.
      Conformance test for W3C XML Schema Part 2: Datatypes.
      Date: Jan 13, 2004.

      File name: NISTXML-SV-IV-list-unsignedShort-pattern-5-3.xml
      Description: XML instance number 3 in a series of 5.
      Schema location:
      NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd
      This instance is intended to be valid with
      regard to the defining schema.
--&gt;

&lt;NISTSchema-SV-IV-list-unsignedShort-pattern-5
    xmlns="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd"&gt;9 21 924 2629 61222 4 68&lt;/NISTSchema-SV-IV-list-unsignedShort-pattern-5&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-4.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-4.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;!--
      The National Institute of Standards and Technology.
      Conformance test for W3C XML Schema Part 2: Datatypes.
      Date: Jan 13, 2004.

      File name: NISTXML-SV-IV-list-unsignedShort-pattern-5-4.xml
      Description: XML instance number 4 in a series of 5.
      Schema location:
      NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd
      This instance is intended to be valid with
      regard to the defining schema.
--&gt;

&lt;NISTSchema-SV-IV-list-unsignedShort-pattern-5
    xmlns="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd"&gt;8 85 638 4278 62321 7 66&lt;/NISTSchema-SV-IV-list-unsignedShort-pattern-5&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_nist5_NISTXML-SV-IV-list-unsignedShort-pattern-5-5.xml">Tests/w3c_tests/nist5/NISTXML-SV-IV-list-unsignedShort-pattern-5-5.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;!--
      The National Institute of Standards and Technology.
      Conformance test for W3C XML Schema Part 2: Datatypes.
      Date: Jan 13, 2004.

      File name: NISTXML-SV-IV-list-unsignedShort-pattern-5-5.xml
      Description: XML instance number 5 in a series of 5.
      Schema location:
      NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd
      This instance is intended to be valid with
      regard to the defining schema.
--&gt;

&lt;NISTSchema-SV-IV-list-unsignedShort-pattern-5
    xmlns="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS NISTSchema-SV-IV-list-unsignedShort-pattern-5.xsd"&gt;8 73 142 3996 62313 5 22&lt;/NISTSchema-SV-IV-list-unsignedShort-pattern-5&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_nist5_valid.xml">Tests/w3c_tests/nist5/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;ns1:NISTSchema-SV-IV-list-unsignedShort-pattern-5 xmlns:ns1="NISTSchema-SV-IV-list-unsignedShort-pattern-5-NS"&gt;6 63 225 3222 63222 2 39&lt;/ns1:NISTSchema-SV-IV-list-unsignedShort-pattern-5&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_nist5_main.cpp">Tests/w3c_tests/nist5/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NISTSchema_SV_IV_list_unsignedShort_pattern_5_NS/all-include.h"

void populateDocument(NISTSchema_SV_IV_list_unsignedShort_pattern_5_NS::Document* xsdDoc);
void updateOrConsumeDocument(NISTSchema_SV_IV_list_unsignedShort_pattern_5_NS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NISTSchema_SV_IV_list_unsignedShort_pattern_5_NS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NISTSchema_SV_IV_list_unsignedShort_pattern_5_NS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NISTSchema_SV_IV_list_unsignedShort_pattern_5_NS::Document* xsdDoc)
{
  xsdDoc-&gt;element_NISTSchema_SV_IV_list_unsignedShort_pattern_5()-&gt;stringValue("6 63 225 3222 63222 2 39");

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NISTSchema_SV_IV_list_unsignedShort_pattern_5_NS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_w3c_tests_stE080">Tests/w3c_tests/stE080</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_stE080_stE080.xsd">Tests/w3c_tests/stE080/stE080.xsd</a>
<li> <a href="#Tests_w3c_tests_stE080_stE080.xml">Tests/w3c_tests/stE080/stE080.xml</a>
<li> <a href="#Tests_w3c_tests_stE080_valid.xml">Tests/w3c_tests/stE080/valid.xml</a>
<li> <a href="#Tests_w3c_tests_stE080_main.cpp">Tests/w3c_tests/stE080/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_stE080_stE080.xsd">Tests/w3c_tests/stE080/stE080.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

	&lt;xsd:simpleType name="list"&gt;
		&lt;xsd:list itemType="xsd:int"/&gt;
	&lt;/xsd:simpleType&gt;

	&lt;xsd:element name="root" fixed="1 2 3 4 20 100"&gt;
		&lt;xsd:simpleType&gt;
			&lt;xsd:union memberTypes="xsd:gMonth xsd:gYear list"/&gt;
		&lt;/xsd:simpleType&gt;
	&lt;/xsd:element&gt;
&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stE080_stE080.xml">Tests/w3c_tests/stE080/stE080.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;root&gt;1 2 3 4 20 100&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stE080_valid.xml">Tests/w3c_tests/stE080/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;1 2 3 4 20 100&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stE080_main.cpp">Tests/w3c_tests/stE080/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_w3c_tests_reDH7a">Tests/w3c_tests/reDH7a</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_reDH7a_reDH7a.xsd">Tests/w3c_tests/reDH7a/reDH7a.xsd</a>
<li> <a href="#Tests_w3c_tests_reDH7a_reDH7a.xml">Tests/w3c_tests/reDH7a/reDH7a.xml</a>
<li> <a href="#Tests_w3c_tests_reDH7a_valid.xml">Tests/w3c_tests/reDH7a/valid.xml</a>
<li> <a href="#Tests_w3c_tests_reDH7a_main.cpp">Tests/w3c_tests/reDH7a/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_reDH7a_reDH7a.xsd">Tests/w3c_tests/reDH7a/reDH7a.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
&gt;

&lt;xsd:element name="doc"&gt;
    &lt;xsd:complexType&gt;
            &lt;xsd:choice maxOccurs="2"&gt;
                &lt;xsd:element name="elem" type="Regex" minOccurs="1" maxOccurs="unbounded"/&gt;
            &lt;/xsd:choice&gt;
    &lt;/xsd:complexType&gt;
&lt;/xsd:element&gt;

&lt;xsd:simpleType name="Regex"&gt;
       &lt;xsd:restriction base="xsd:IDREF"&gt;
           &lt;xsd:pattern value="\C[\C\d]*"/&gt;    
       &lt;/xsd:restriction&gt;
&lt;/xsd:simpleType&gt;



&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_reDH7a_reDH7a.xml">Tests/w3c_tests/reDH7a/reDH7a.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;doc&gt;


     &lt;elem&gt;a123&lt;/elem&gt;

 &lt;/doc&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_reDH7a_valid.xml">Tests/w3c_tests/reDH7a/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;doc&gt;
  &lt;elem&gt;123&lt;/elem&gt;
  &lt;elem&gt;234&lt;/elem&gt;
  &lt;elem&gt;789&lt;/elem&gt;
&lt;/doc&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_reDH7a_main.cpp">Tests/w3c_tests/reDH7a/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  NoNS::doc* pdoc = xsdDoc-&gt;element_doc();
  pdoc-&gt;set_count_choiceList(2);

  List&lt;NoNS::doc::elem_ptr&gt;  choice1ElemList = pdoc-&gt;choice_at(0)-&gt;choose_list_elem(2);
  choice1ElemList.at(0)-&gt;stringValue("123");
  choice1ElemList.at(1)-&gt;stringValue("234");

  List&lt;NoNS::doc::elem_ptr&gt;  choice2ElemList = pdoc-&gt;choice_at(1)-&gt;choose_list_elem(1);
  choice2ElemList.at(0)-&gt;stringValue("789");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_w3c_tests_ste099">Tests/w3c_tests/ste099</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_ste099_ste099.xsd">Tests/w3c_tests/ste099/ste099.xsd</a>
<li> <a href="#Tests_w3c_tests_ste099_ste099.xml">Tests/w3c_tests/ste099/ste099.xml</a>
<li> <a href="#Tests_w3c_tests_ste099_valid.xml">Tests/w3c_tests/ste099/valid.xml</a>
<li> <a href="#Tests_w3c_tests_ste099_main.cpp">Tests/w3c_tests/ste099/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_ste099_ste099.xsd">Tests/w3c_tests/ste099/ste099.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

	&lt;xsd:simpleType name="union"&gt;
		&lt;xsd:union memberTypes="xsd:gYear xsd:base64Binary xsd:gDay"/&gt;
	&lt;/xsd:simpleType&gt;

	&lt;xsd:element name="root" fixed="abcdefab"&gt;
		&lt;xsd:simpleType&gt;
			&lt;xsd:list itemType="union"/&gt;
		&lt;/xsd:simpleType&gt;
	&lt;/xsd:element&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_ste099_ste099.xml">Tests/w3c_tests/ste099/ste099.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;root&gt;abcdefab&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_ste099_valid.xml">Tests/w3c_tests/ste099/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;abcdefab&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_ste099_main.cpp">Tests/w3c_tests/ste099/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_w3c_tests_stG003">Tests/w3c_tests/stG003</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_stG003_stG003.xsd">Tests/w3c_tests/stG003/stG003.xsd</a>
<li> <a href="#Tests_w3c_tests_stG003_stG003.xml">Tests/w3c_tests/stG003/stG003.xml</a>
<li> <a href="#Tests_w3c_tests_stG003_valid.xml">Tests/w3c_tests/stG003/valid.xml</a>
<li> <a href="#Tests_w3c_tests_stG003_main.cpp">Tests/w3c_tests/stG003/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_stG003_stG003.xsd">Tests/w3c_tests/stG003/stG003.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
	&lt;xsd:element name="root"&gt;
		&lt;xsd:complexType&gt;
			&lt;xsd:sequence&gt;
				&lt;xsd:element ref="fooTest"/&gt;
			&lt;/xsd:sequence&gt;
		&lt;/xsd:complexType&gt;
	&lt;/xsd:element&gt;
	&lt;xsd:element name="fooTest" type="fooType"/&gt;
	&lt;xsd:simpleType name="myInteger"&gt;
		&lt;xsd:list itemType="xsd:integer"/&gt;
	&lt;/xsd:simpleType&gt;
	&lt;xsd:simpleType name="fooType"&gt;
		&lt;xsd:restriction base="myInteger"&gt;
			&lt;xsd:maxLength value="3"/&gt;
		&lt;/xsd:restriction&gt;
	&lt;/xsd:simpleType&gt;
&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stG003_stG003.xml">Tests/w3c_tests/stG003/stG003.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="stG003.xsd"&gt;
	&lt;fooTest&gt;
	10	25	   33
	55
  &lt;/fooTest&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stG003_valid.xml">Tests/w3c_tests/stG003/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;
  &lt;fooTest&gt;10 25 33&lt;/fooTest&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stG003_main.cpp">Tests/w3c_tests/stG003/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
  
void chooseDocumentElement(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  cbStruct.cbChooseDocumentElement      =  chooseDocumentElement;

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

  
// choose the element inside Document that you want as root using
// a call like : xsdDoc-&gt;set_root_xyz();
void chooseDocumentElement(NoNS::Document* xsdDoc)
{
  // uncomment one of folowing to choose root
  
  xsdDoc-&gt;set_root_root();
  
  //xsdDoc-&gt;set_root_fooTest();
    
}
    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_fooTest("10 25 33 ");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_w3c_tests_stH005">Tests/w3c_tests/stH005</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_w3c_tests_stH005_stH005.xsd">Tests/w3c_tests/stH005/stH005.xsd</a>
<li> <a href="#Tests_w3c_tests_stH005_stH005.xml">Tests/w3c_tests/stH005/stH005.xml</a>
<li> <a href="#Tests_w3c_tests_stH005_valid.xml">Tests/w3c_tests/stH005/valid.xml</a>
<li> <a href="#Tests_w3c_tests_stH005_main.cpp">Tests/w3c_tests/stH005/main.cpp</a>
</ul>
<h3><a name="Tests_w3c_tests_stH005_stH005.xsd">Tests/w3c_tests/stH005/stH005.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
	&lt;xsd:element name="root"&gt;
		&lt;xsd:complexType&gt;
			&lt;xsd:sequence&gt;
				&lt;xsd:element ref="fooTest"/&gt;
			&lt;/xsd:sequence&gt;
		&lt;/xsd:complexType&gt;
	&lt;/xsd:element&gt;
	&lt;xsd:element name="fooTest" type="fooType"/&gt;
	&lt;xsd:simpleType name="ListOfZips"&gt;
		&lt;xsd:list&gt;
			&lt;xsd:simpleType&gt;
				&lt;xsd:restriction base="xsd:string"&gt;
					&lt;xsd:pattern value="[0-9]{5}"/&gt;
				&lt;/xsd:restriction&gt;
			&lt;/xsd:simpleType&gt;
		&lt;/xsd:list&gt;
	&lt;/xsd:simpleType&gt;
	&lt;xsd:simpleType name="fooType"&gt;
		&lt;xsd:union&gt;
			&lt;xsd:simpleType&gt;
				&lt;xsd:restriction base="ListOfZips"&gt;
					&lt;xsd:pattern value="[0-8]{5}"/&gt;
				&lt;/xsd:restriction&gt;
			&lt;/xsd:simpleType&gt;
		&lt;/xsd:union&gt;
	&lt;/xsd:simpleType&gt;
&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stH005_stH005.xml">Tests/w3c_tests/stH005/stH005.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="stH005.xsd"&gt;
	&lt;fooTest&gt;
	12345
  &lt;/fooTest&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stH005_valid.xml">Tests/w3c_tests/stH005/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;
  &lt;fooTest&gt;12348&lt;/fooTest&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_w3c_tests_stH005_main.cpp">Tests/w3c_tests/stH005/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
  
void chooseDocumentElement(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  cbStruct.cbChooseDocumentElement      =  chooseDocumentElement;

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

  
// choose the element inside Document that you want as root using
// a call like : xsdDoc-&gt;set_root_xyz();
void chooseDocumentElement(NoNS::Document* xsdDoc)
{
  // uncomment one of folowing to choose root
  
  xsdDoc-&gt;set_root_root();
  
  //xsdDoc-&gt;set_root_fooTest();
    
}
    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_fooTest("12348");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_scExt3">Tests/xplus_tests/scExt3</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_scExt3_scExt3.xsd">Tests/xplus_tests/scExt3/scExt3.xsd</a>
<li> <a href="#Tests_xplus_tests_scExt3_valid.xml">Tests/xplus_tests/scExt3/valid.xml</a>
<li> <a href="#Tests_xplus_tests_scExt3_main.cpp">Tests/xplus_tests/scExt3/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_scExt3_scExt3.xsd">Tests/xplus_tests/scExt3/scExt3.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xsd:complexType name="ComplexTypeSCExtn"&gt;
    &lt;xsd:simpleContent&gt;
      &lt;xsd:extension base="xsd:string"&gt;
        &lt;xsd:attribute name="id" type="xsd:ID" use="required"/&gt;
      &lt;/xsd:extension&gt;
    &lt;/xsd:simpleContent&gt;
  &lt;/xsd:complexType&gt;

  &lt;xsd:element name="root" type="ComplexTypeSCExtn"/&gt; 

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt3_valid.xml">Tests/xplus_tests/scExt3/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root id="ID1"&gt;simple content with extension&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt3_main.cpp">Tests/xplus_tests/scExt3/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_attr_id("ID1");
  xsdDoc-&gt;element_root()-&gt;stringValue("simple content with extension");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_includeTests">Tests/xplus_tests/includeTests</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_includeTests_i1.xsd">Tests/xplus_tests/includeTests/i1.xsd</a>
<li> <a href="#Tests_xplus_tests_includeTests_i2.xsd">Tests/xplus_tests/includeTests/i2.xsd</a>
<li> <a href="#Tests_xplus_tests_includeTests_i3.xsd">Tests/xplus_tests/includeTests/i3.xsd</a>
<li> <a href="#Tests_xplus_tests_includeTests_including1.xsd">Tests/xplus_tests/includeTests/including1.xsd</a>
<li> <a href="#Tests_xplus_tests_includeTests_including2.xsd">Tests/xplus_tests/includeTests/including2.xsd</a>
<li> <a href="#Tests_xplus_tests_includeTests_main.cpp">Tests/xplus_tests/includeTests/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_includeTests_i1.xsd">Tests/xplus_tests/includeTests/i1.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;
  
  &lt;xsd:element name="elem1_from_i1" type="xsd:int"/&gt;

  &lt;xsd:simpleType name="AlphabeticString"&gt;
    &lt;xsd:restriction base="xsd:string"&gt;
      &lt;xsd:pattern value="[A-Z]+"/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_includeTests_i2.xsd">Tests/xplus_tests/includeTests/i2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;
  
  &lt;xsd:element name="elem1_from_i2" type="xsd:int"/&gt;

  &lt;xsd:simpleType name="StringLength5"&gt;
    &lt;xsd:restriction base="xsd:string"&gt;
      &lt;xsd:length value='5'/&gt;
    &lt;/xsd:restriction&gt;  
  &lt;/xsd:simpleType&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_includeTests_i3.xsd">Tests/xplus_tests/includeTests/i3.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="urn:includeTests"
&gt;
  &lt;xsd:element name="elem1_from_i3" type="xsd:int"/&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_includeTests_including1.xsd">Tests/xplus_tests/includeTests/including1.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xsd:include schemaLocation="i1.xsd"/&gt;
  &lt;xsd:include schemaLocation="i2.xsd"/&gt;

  &lt;xsd:element name="root1" type="AlphabeticString"/&gt;
  &lt;xsd:element name="root2" type="StringLength5"/&gt;
  &lt;xsd:element name="root3"&gt;
    &lt;xsd:complexType&gt;
      &lt;xsd:sequence&gt;
        &lt;xsd:element ref="elem1_from_i1"/&gt;
        &lt;xsd:element ref="elem1_from_i2"/&gt;
      &lt;/xsd:sequence&gt;
    &lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;

&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_includeTests_including2.xsd">Tests/xplus_tests/includeTests/including2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xsd:include schemaLocation="i3.xsd"/&gt;
  
  &lt;xsd:element name="root"/&gt;

&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_includeTests_main.cpp">Tests/xplus_tests/includeTests/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
  
void chooseDocumentElement(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  cbStruct.cbChooseDocumentElement      =  chooseDocumentElement;

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

  
// choose the element inside Document that you want as root using
// a call like : xsdDoc-&gt;set_root_xyz();
void chooseDocumentElement(NoNS::Document* xsdDoc)
{
  // uncomment one of folowing to choose root
  
  //xsdDoc-&gt;set_root_root1();
  
  //xsdDoc-&gt;set_root_root2();
  
  //xsdDoc-&gt;set_root_elem1_from_included1();
  
  //xsdDoc-&gt;set_root_elem1_from_included2();
  
  //xsdDoc-&gt;set_root_elem1_from_included1();
    
  //xsdDoc-&gt;set_root_elem1_from_included2();
      
}
    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ccExtAny">Tests/xplus_tests/ccExtAny</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ccExtAny_ccExtAny.xsd">Tests/xplus_tests/ccExtAny/ccExtAny.xsd</a>
<li> <a href="#Tests_xplus_tests_ccExtAny_valid.xml">Tests/xplus_tests/ccExtAny/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ccExtAny_main.cpp">Tests/xplus_tests/ccExtAny/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ccExtAny_ccExtAny.xsd">Tests/xplus_tests/ccExtAny/ccExtAny.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xsd:complexType name="AnyComplexType"&gt;
    &lt;xsd:complexContent&gt;
      &lt;xsd:extension base="xsd:anyType"/&gt;
    &lt;/xsd:complexContent&gt;
  &lt;/xsd:complexType&gt;

  &lt;xsd:element name="root" type="AnyComplexType"/&gt; 

&lt;/xsd:schema&gt;   
    
 
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccExtAny_valid.xml">Tests/xplus_tests/ccExtAny/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccExtAny_main.cpp">Tests/xplus_tests/ccExtAny/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  Please do not edit.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

    

int main (int argc, char**argv)
{
  XSD_USER_OPS::xsd_main(argc, argv);
}

DOM::Document* createXsdDocument(bool buildTree)
{
  NoNS::Document* xsdDoc = new NoNS::Document(buildTree);
    
  return xsdDoc;
}

DOM::Document* createXsdDocument(string inFilePath)
{
  XPlusFileInputStream is;
  is.open(inFilePath.c_str(), ios::binary);

  NoNS::Document* xsdDoc = new NoNS::Document(false);

  is &gt;&gt; *xsdDoc; 
  return xsdDoc;
}

//
// Following functions are templates.
// You need to put code in the context
//

    

// template function to populate the Tree with values
void populateDocument(DOM::Document* pDoc)
{
  NoNS::Document* xsdDoc = dynamic_cast&lt;NoNS::Document *&gt;(pDoc);
  // write code to populate the Document here
  //xsdDoc-&gt;element_root()-&gt;stringValue("tt")

}

void updateOrConsumeDocument(DOM::Document* pDoc)
{
  NoNS::Document* xsdDoc = dynamic_cast&lt;NoNS::Document *&gt;(pDoc);
  // write code to operate on the populated-Document here

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ccRest2">Tests/xplus_tests/ccRest2</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ccRest2_ccRest2.xsd">Tests/xplus_tests/ccRest2/ccRest2.xsd</a>
<li> <a href="#Tests_xplus_tests_ccRest2_valid.xml">Tests/xplus_tests/ccRest2/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ccRest2_main.cpp">Tests/xplus_tests/ccRest2/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ccRest2_ccRest2.xsd">Tests/xplus_tests/ccRest2/ccRest2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:complexType name="length2"&gt;
   &lt;xs:complexContent&gt;
    &lt;xs:restriction base="xs:anyType"&gt;
     &lt;xs:sequence&gt;
      &lt;xs:element name="size" type="xs:nonNegativeInteger"/&gt;
      &lt;xs:element name="unit" type="xs:NMTOKEN"/&gt;
     &lt;/xs:sequence&gt;
    &lt;/xs:restriction&gt;
   &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;

  &lt;xs:element name="depth" type="length2" /&gt;

  &lt;!--
    &lt;depth&gt;
     &lt;size&gt;25&lt;/size&gt;&lt;unit&gt;cm&lt;/unit&gt;
    &lt;/depth&gt;
  --&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest2_valid.xml">Tests/xplus_tests/ccRest2/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;depth&gt;
  &lt;size&gt;25&lt;/size&gt;
  &lt;unit&gt;cm&lt;/unit&gt;
&lt;/depth&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest2_main.cpp">Tests/xplus_tests/ccRest2/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_depth()-&gt;set_size(25);
  xsdDoc-&gt;element_depth()-&gt;set_unit("cm");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_defaultTest">Tests/xplus_tests/defaultTest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_defaultTest_defaultTest.xsd">Tests/xplus_tests/defaultTest/defaultTest.xsd</a>
<li> <a href="#Tests_xplus_tests_defaultTest_t1.xml">Tests/xplus_tests/defaultTest/t1.xml</a>
<li> <a href="#Tests_xplus_tests_defaultTest_t2.xml">Tests/xplus_tests/defaultTest/t2.xml</a>
<li> <a href="#Tests_xplus_tests_defaultTest_main.cpp">Tests/xplus_tests/defaultTest/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_defaultTest_defaultTest.xsd">Tests/xplus_tests/defaultTest/defaultTest.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

	&lt;xsd:element name="root"&gt;
    &lt;xsd:complexType&gt;
      &lt;xsd:sequence&gt;
        &lt;xsd:element name="e1" type="xsd:int" default="500" minOccurs="0" /&gt;
        &lt;xsd:element name="e2" type="xsd:int" default="600"/&gt;
      &lt;/xsd:sequence&gt;
      &lt;xsd:attribute name="a2" type="xsd:int" default="200" use="optional"/&gt;
      &lt;xsd:attribute name="a3" type="xsd:int"/&gt;
    &lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;
	

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_defaultTest_t1.xml">Tests/xplus_tests/defaultTest/t1.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;
  &lt;e1&gt;&lt;/e1&gt;
  &lt;e2&gt;&lt;/e2&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_defaultTest_t2.xml">Tests/xplus_tests/defaultTest/t2.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a2="50" a3="75"&gt;
  &lt;e1&gt;700&lt;/e1&gt;
  &lt;e2&gt;800&lt;/e2&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_defaultTest_main.cpp">Tests/xplus_tests/defaultTest/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_scExt2">Tests/xplus_tests/scExt2</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_scExt2_scExt2.xsd">Tests/xplus_tests/scExt2/scExt2.xsd</a>
<li> <a href="#Tests_xplus_tests_scExt2_valid.xml">Tests/xplus_tests/scExt2/valid.xml</a>
<li> <a href="#Tests_xplus_tests_scExt2_main.cpp">Tests/xplus_tests/scExt2/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_scExt2_scExt2.xsd">Tests/xplus_tests/scExt2/scExt2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xsd:simpleType name="aStringOfLen50"&gt;
    &lt;xsd:restriction base='xsd:string'&gt;
      &lt;xsd:maxLength value='50'/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;


  &lt;xsd:complexType name="ComplexTypeSCExtn"&gt;
    &lt;xsd:simpleContent&gt;
      &lt;xsd:extension base="aStringOfLen50"&gt;
        &lt;xsd:attribute name="id" type="xsd:ID" use="required"/&gt;
      &lt;/xsd:extension&gt;
    &lt;/xsd:simpleContent&gt;
  &lt;/xsd:complexType&gt;


  &lt;xsd:element name="root"&gt; 
    &lt;xsd:complexType&gt;
      &lt;xsd:simpleContent&gt;
        &lt;xsd:extension base="ComplexTypeSCExtn"&gt;
          &lt;xsd:attribute name="idx" type="xsd:int" use="required"/&gt;
        &lt;/xsd:extension&gt;
      &lt;/xsd:simpleContent&gt;
    &lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt2_valid.xml">Tests/xplus_tests/scExt2/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root id="ID1" idx="100"&gt;simple content with extension&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt2_main.cpp">Tests/xplus_tests/scExt2/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_attr_id("ID1");
  xsdDoc-&gt;element_root()-&gt;set_attr_idx("100");
  xsdDoc-&gt;element_root()-&gt;stringValue("simple content with extension");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_xsiTest">Tests/xplus_tests/xsiTest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_xsiTest_xsiTest.xsd">Tests/xplus_tests/xsiTest/xsiTest.xsd</a>
<li> <a href="#Tests_xplus_tests_xsiTest_valid2.xml">Tests/xplus_tests/xsiTest/valid2.xml</a>
<li> <a href="#Tests_xplus_tests_xsiTest_valid.xml">Tests/xplus_tests/xsiTest/valid.xml</a>
<li> <a href="#Tests_xplus_tests_xsiTest_main.cpp">Tests/xplus_tests/xsiTest/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_xsiTest_xsiTest.xsd">Tests/xplus_tests/xsiTest/xsiTest.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  elementFormDefault="qualified"
  &gt;

  &lt;xsd:complexType name="SomeType"&gt;
    &lt;xsd:sequence&gt;
      &lt;xsd:element name="item" type="xsd:string" minOccurs="3" maxOccurs="3"/&gt;
    &lt;/xsd:sequence&gt;
    &lt;xsd:attribute name="id" type="xsd:string" default="102"/&gt;
  &lt;/xsd:complexType&gt;  

  &lt;xsd:complexType name="SomeType2"&gt;
    &lt;xsd:complexContent&gt;
      &lt;xsd:extension base="SomeType"&gt;
        &lt;xsd:sequence&gt;
          &lt;xsd:element name="item2" type="xsd:int"/&gt;
        &lt;/xsd:sequence&gt;
      &lt;/xsd:extension&gt;
    &lt;/xsd:complexContent&gt;
  &lt;/xsd:complexType&gt;  

  &lt;xsd:element name="root"&gt;
    &lt;xsd:complexType&gt;
      &lt;xsd:sequence&gt;
        &lt;xsd:element name="items" type="SomeType"/&gt;
      &lt;/xsd:sequence&gt;
    &lt;/xsd:complexType&gt;  
  &lt;/xsd:element&gt;

&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_xsiTest_valid2.xml">Tests/xplus_tests/xsiTest/valid2.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &gt;
  &lt;items id="102" xsi:type="SomeType2"&gt;
    &lt;item&gt;item 1&lt;/item&gt;
    &lt;item&gt;item 2&lt;/item&gt;
    &lt;item&gt;item 3&lt;/item&gt;
    &lt;item2&gt;123&lt;/item2&gt;
  &lt;/items&gt;
&lt;/root&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_xsiTest_valid.xml">Tests/xplus_tests/xsiTest/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;
  &lt;items id="102"&gt;
    &lt;item&gt;item 1&lt;/item&gt;
    &lt;item&gt;item 2&lt;/item&gt;
    &lt;item&gt;item 3&lt;/item&gt;
  &lt;/items&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_xsiTest_main.cpp">Tests/xplus_tests/xsiTest/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  NoNS::root::items* pItems =  xsdDoc-&gt;element_root()-&gt;element_items();
  pItems-&gt;mark_present_attr_id();
  pItems-&gt;set_item(0, "item 1");
  pItems-&gt;set_item(1, "item 2");
  pItems-&gt;set_item(2, "item 3");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_scExt">Tests/xplus_tests/scExt</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_scExt_scExt.xsd">Tests/xplus_tests/scExt/scExt.xsd</a>
<li> <a href="#Tests_xplus_tests_scExt_valid.xml">Tests/xplus_tests/scExt/valid.xml</a>
<li> <a href="#Tests_xplus_tests_scExt_main.cpp">Tests/xplus_tests/scExt/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_scExt_scExt.xsd">Tests/xplus_tests/scExt/scExt.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xsd:element name="root"&gt; 
    &lt;xsd:complexType&gt;
      &lt;xsd:simpleContent&gt;
        &lt;xsd:extension base="xsd:string"&gt;
          &lt;xsd:attribute name="id" type="xsd:ID" use="required"/&gt;
        &lt;/xsd:extension&gt;
      &lt;/xsd:simpleContent&gt;
    &lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt_valid.xml">Tests/xplus_tests/scExt/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root id="ID1"&gt;simple content with extension&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt_main.cpp">Tests/xplus_tests/scExt/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_attr_id("ID1");
  xsdDoc-&gt;element_root()-&gt;stringValue("simple content with extension");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_importTests">Tests/xplus_tests/importTests</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_importTests_i1.xsd">Tests/xplus_tests/importTests/i1.xsd</a>
<li> <a href="#Tests_xplus_tests_importTests_i2.xsd">Tests/xplus_tests/importTests/i2.xsd</a>
<li> <a href="#Tests_xplus_tests_importTests_importing1.xsd">Tests/xplus_tests/importTests/importing1.xsd</a>
<li> <a href="#Tests_xplus_tests_importTests_importing3.xsd">Tests/xplus_tests/importTests/importing3.xsd</a>
<li> <a href="#Tests_xplus_tests_importTests_importing4.xsd">Tests/xplus_tests/importTests/importing4.xsd</a>
<li> <a href="#Tests_xplus_tests_importTests_importing5.xsd">Tests/xplus_tests/importTests/importing5.xsd</a>
<li> <a href="#Tests_xplus_tests_importTests_main.cpp">Tests/xplus_tests/importTests/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_importTests_i1.xsd">Tests/xplus_tests/importTests/i1.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;
  
  &lt;xsd:element name="elem1_from_i1" type="xsd:int"/&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_importTests_i2.xsd">Tests/xplus_tests/importTests/i2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="urn:importTests"
&gt;
  
  &lt;xsd:element name="elem1_from_i2" type="xsd:int"/&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_importTests_importing1.xsd">Tests/xplus_tests/importTests/importing1.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:ns1="urn:importTests"
&gt;

  &lt;xsd:import namespace="urn:importTests" schemaLocation="i2.xsd"/&gt;
  &lt;xsd:element ref="ns1:elem1_from_i2"/&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_importTests_importing3.xsd">Tests/xplus_tests/importTests/importing3.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:ns1="urn:importTests"
  targetNamespace="urn:importTests"
&gt;
  &lt;xsd:import namespace="urn:importTests" schemaLocation="i2.xsd"/&gt;
  &lt;xsd:element ref="ns1:elem1_from_i2"/&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_importTests_importing4.xsd">Tests/xplus_tests/importTests/importing4.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="urn:importTests"
&gt;
  &lt;xsd:import schemaLocation="i1.xsd"/&gt;

  &lt;xsd:element ref="elem1_from_i1"/&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_importTests_importing5.xsd">Tests/xplus_tests/importTests/importing5.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;
  
  &lt;xsd:import schemaLocation="i1.xsd"/&gt;
  &lt;xsd:element name="root"/&gt;

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_importTests_main.cpp">Tests/xplus_tests/importTests/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ccExt2">Tests/xplus_tests/ccExt2</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ccExt2_ccExt2.xsd">Tests/xplus_tests/ccExt2/ccExt2.xsd</a>
<li> <a href="#Tests_xplus_tests_ccExt2_valid.xml">Tests/xplus_tests/ccExt2/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ccExt2_main.cpp">Tests/xplus_tests/ccExt2/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ccExt2_ccExt2.xsd">Tests/xplus_tests/ccExt2/ccExt2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:complexType name="ComplexTypeSeq"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="e1" minOccurs="0" maxOccurs="unbounded"/&gt;
      &lt;xs:element name="e2"/&gt;
      &lt;xs:element name="e3"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:attribute name="a1" type="xs:ID" use="optional"/&gt;
  &lt;/xs:complexType&gt;

  &lt;xs:element name="root"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:complexContent&gt;
        &lt;xs:extension base="ComplexTypeSeq"&gt;
          &lt;xs:sequence&gt;
            &lt;xs:element name="e4" minOccurs="1" maxOccurs="1"/&gt;
            &lt;xs:element name="e5"/&gt;
          &lt;/xs:sequence&gt;
          &lt;xs:attribute name="a2" type="xs:int" use="required"/&gt;
        &lt;/xs:extension&gt;
      &lt;/xs:complexContent&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;


&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccExt2_valid.xml">Tests/xplus_tests/ccExt2/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a2="100" a1="IDA1"&gt;
  &lt;e1&gt;e1 value&lt;/e1&gt;
  &lt;e1&gt;e1 value2&lt;/e1&gt;
  &lt;e2&gt;e2 value&lt;/e2&gt;
  &lt;e3&gt;e3 value&lt;/e3&gt;
  &lt;e4&gt;e4 value&lt;/e4&gt;
  &lt;e5&gt;e5 value&lt;/e5&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccExt2_main.cpp">Tests/xplus_tests/ccExt2/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  NoNS::root* pRootElem = xsdDoc-&gt;element_root();

  pRootElem-&gt;set_attr_a1("IDA1");
  pRootElem-&gt;set_attr_a2("100");
  
  pRootElem-&gt;set_count_e1(2);
  // need revisit for API on anyType :
  pRootElem-&gt;element_e1_at(0)-&gt;stringValue("e1 value");
  pRootElem-&gt;element_e1_at(1)-&gt;stringValue("e1 value2");

  pRootElem-&gt;element_e2()-&gt;stringValue("e2 value");
  pRootElem-&gt;element_e3()-&gt;stringValue("e3 value");
  pRootElem-&gt;element_e4()-&gt;stringValue("e4 value");
  pRootElem-&gt;element_e5()-&gt;stringValue("e5 value");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_choiceOfSeq">Tests/xplus_tests/choiceOfSeq</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_choiceOfSeq_choiceOfSeq.xsd">Tests/xplus_tests/choiceOfSeq/choiceOfSeq.xsd</a>
<li> <a href="#Tests_xplus_tests_choiceOfSeq_valid.xml">Tests/xplus_tests/choiceOfSeq/valid.xml</a>
<li> <a href="#Tests_xplus_tests_choiceOfSeq_main.cpp">Tests/xplus_tests/choiceOfSeq/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_choiceOfSeq_choiceOfSeq.xsd">Tests/xplus_tests/choiceOfSeq/choiceOfSeq.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;xs:schema 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:ns1="urn:ns1"
    targetNamespace="urn:ns1"
    version="0.1" elementFormDefault="qualified"&gt; 


  &lt;element name="myData" type="ns1:myDataType"/&gt; 
  
  &lt;complexType name="myDataType"&gt; 
    &lt;choice&gt;
      &lt;sequence&gt;
        &lt;element name="e1" type="xs:string"/&gt; 
        &lt;element name="e2" type="xs:string" minOccurs="0"/&gt; 
        &lt;!-- enable following when support for wildcards is implemented --&gt;
        &lt;!--
        &lt;any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&gt;
        --&gt;
      &lt;/sequence&gt;
      &lt;sequence&gt;
        &lt;element name="e1" type="xs:string"/&gt; 
        &lt;!-- enable following when support for wildcards is implemented --&gt;
        &lt;!--
        &lt;any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&gt;
        --&gt;
      &lt;/sequence&gt;
    &lt;/choice&gt;
  &lt;/complexType&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_choiceOfSeq_valid.xml">Tests/xplus_tests/choiceOfSeq/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;ns1:myData xmlns:ns1="urn:ns1"&gt;
  &lt;ns1:e1&gt;e1 value&lt;/ns1:e1&gt;
  &lt;ns1:e2&gt;e2 value&lt;/ns1:e2&gt;
&lt;/ns1:myData&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_choiceOfSeq_main.cpp">Tests/xplus_tests/choiceOfSeq/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "ns1/all-include.h"

void populateDocument(ns1::Document* xsdDoc);
void updateOrConsumeDocument(ns1::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;ns1::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;ns1::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(ns1::Document* xsdDoc)
{
  ns1::myData* pMyData =  xsdDoc-&gt;element_myData();
  ns1::Types::myDataType::choice::sequence1* pSeq1 = pMyData-&gt;get_choice()-&gt;choose_sequence1();
  pSeq1-&gt;set_e1("e1 value");
  pSeq1-&gt;set_e2("e2 value");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(ns1::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ctAnyType">Tests/xplus_tests/ctAnyType</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ctAnyType_ctAnyType.xsd">Tests/xplus_tests/ctAnyType/ctAnyType.xsd</a>
<li> <a href="#Tests_xplus_tests_ctAnyType_valid.xml">Tests/xplus_tests/ctAnyType/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ctAnyType_main.cpp">Tests/xplus_tests/ctAnyType/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ctAnyType_ctAnyType.xsd">Tests/xplus_tests/ctAnyType/ctAnyType.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:element name="root" type="xs:anyType"/&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ctAnyType_valid.xml">Tests/xplus_tests/ctAnyType/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;abcd&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ctAnyType_main.cpp">Tests/xplus_tests/ctAnyType/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  // need revisit for API on anyType :
  xsdDoc-&gt;element_root()-&gt;stringValue("abcd");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ccExt">Tests/xplus_tests/ccExt</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ccExt_ccExt.xsd">Tests/xplus_tests/ccExt/ccExt.xsd</a>
<li> <a href="#Tests_xplus_tests_ccExt_valid.xml">Tests/xplus_tests/ccExt/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ccExt_main.cpp">Tests/xplus_tests/ccExt/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ccExt_ccExt.xsd">Tests/xplus_tests/ccExt/ccExt.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:complexType name="ComplexTypeSeq"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="e1" minOccurs="0" maxOccurs="unbounded"/&gt;
      &lt;xs:element name="e2"/&gt;
      &lt;xs:element name="e3"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:attribute name="a1" type="xs:ID" use="optional"/&gt;
    &lt;!--
    &lt;xs:attribute name="a2" type="xs:int" use="optional"/&gt;
    --&gt;
  &lt;/xs:complexType&gt;

  &lt;xs:complexType name="ComplexTypeCCExtn"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="ComplexTypeSeq"&gt;
        &lt;xs:sequence&gt;
          &lt;xs:element name="e4" minOccurs="1" maxOccurs="1"/&gt;
          &lt;xs:element name="e5"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:attribute name="a2" type="xs:int" use="required"/&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;

  &lt;xs:element name="root" type="ComplexTypeCCExtn"/&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccExt_valid.xml">Tests/xplus_tests/ccExt/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a2="100" a1="IDA1"&gt;
  &lt;e1&gt;e1 value&lt;/e1&gt;
  &lt;e1&gt;e1 value2&lt;/e1&gt;
  &lt;e2&gt;e2 value&lt;/e2&gt;
  &lt;e3&gt;e3 value&lt;/e3&gt;
  &lt;e4&gt;e4 value&lt;/e4&gt;
  &lt;e5&gt;e5 value&lt;/e5&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccExt_main.cpp">Tests/xplus_tests/ccExt/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  NoNS::root* pRootElem = xsdDoc-&gt;element_root();

  pRootElem-&gt;set_attr_a1("IDA1");
  pRootElem-&gt;set_attr_a2("100");
  
  pRootElem-&gt;set_count_e1(2);
  // need revisit for API on anyType :
  pRootElem-&gt;element_e1_at(0)-&gt;stringValue("e1 value");
  pRootElem-&gt;element_e1_at(1)-&gt;stringValue("e1 value2");

  pRootElem-&gt;element_e2()-&gt;stringValue("e2 value");
  pRootElem-&gt;element_e3()-&gt;stringValue("e3 value");
  pRootElem-&gt;element_e4()-&gt;stringValue("e4 value");
  pRootElem-&gt;element_e5()-&gt;stringValue("e5 value");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ccRest3">Tests/xplus_tests/ccRest3</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ccRest3_ccRest3.xsd">Tests/xplus_tests/ccRest3/ccRest3.xsd</a>
<li> <a href="#Tests_xplus_tests_ccRest3_valid.xml">Tests/xplus_tests/ccRest3/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ccRest3_main.cpp">Tests/xplus_tests/ccRest3/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ccRest3_ccRest3.xsd">Tests/xplus_tests/ccRest3/ccRest3.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:complexType name="ComplexTypeSeq"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="e1" minOccurs="0" maxOccurs="unbounded"/&gt;
      &lt;xs:element name="e2" minOccurs="0"/&gt;
      &lt;xs:element name="e3"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:attribute name="a1" type="xs:ID" use="optional"/&gt;
    &lt;xs:attribute name="a2" type="xs:int" use="optional"/&gt;
  &lt;/xs:complexType&gt;

  &lt;xs:element name="root"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:complexContent mixed="true"&gt;
        &lt;xs:restriction base="ComplexTypeSeq"&gt;
          &lt;xs:sequence&gt;
            &lt;xs:element name="e1" minOccurs="1" maxOccurs="1"/&gt;
            &lt;xs:element name="e3"/&gt;
          &lt;/xs:sequence&gt;
          &lt;xs:attribute name="a2" type="xs:int" use="required"/&gt;
        &lt;/xs:restriction&gt;
      &lt;/xs:complexContent&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;  

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest3_valid.xml">Tests/xplus_tests/ccRest3/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a2="200" a1="IDA1"&gt;
  &lt;e1&gt;e1 value&lt;/e1&gt;
  &lt;e3&gt;e3 value&lt;/e3&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest3_main.cpp">Tests/xplus_tests/ccRest3/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_attr_a1("IDA1");
  xsdDoc-&gt;element_root()-&gt;set_attr_a2("200");
  
  // need revisit for API on anyType :
  xsdDoc-&gt;element_root()-&gt;element_e1()-&gt;stringValue("e1 value");
  xsdDoc-&gt;element_root()-&gt;element_e3()-&gt;stringValue("e3 value");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_xsiTest3">Tests/xplus_tests/xsiTest3</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_xsiTest3_xsiTest3.xsd">Tests/xplus_tests/xsiTest3/xsiTest3.xsd</a>
<li> <a href="#Tests_xplus_tests_xsiTest3_valid2.xml">Tests/xplus_tests/xsiTest3/valid2.xml</a>
<li> <a href="#Tests_xplus_tests_xsiTest3_main.cpp">Tests/xplus_tests/xsiTest3/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_xsiTest3_xsiTest3.xsd">Tests/xplus_tests/xsiTest3/xsiTest3.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  elementFormDefault="qualified"
  &gt;

  &lt;xsd:complexType name="SomeType" abstract="true"&gt;
    &lt;xsd:sequence&gt;
      &lt;xsd:element name="item" type="xsd:string"/&gt;
    &lt;/xsd:sequence&gt;
    &lt;xsd:attribute name="id" type="xsd:string" default="102"/&gt;
  &lt;/xsd:complexType&gt;  

  &lt;xsd:complexType name="SomeType2"&gt;
    &lt;xsd:complexContent&gt;
      &lt;xsd:extension base="SomeType"&gt;
        &lt;xsd:sequence&gt;
          &lt;xsd:element name="item2" type="xsd:int"/&gt;
        &lt;/xsd:sequence&gt;
      &lt;/xsd:extension&gt;
    &lt;/xsd:complexContent&gt;
  &lt;/xsd:complexType&gt;  
  
  &lt;xsd:element name="items" type="SomeType"/&gt;
&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_xsiTest3_valid2.xml">Tests/xplus_tests/xsiTest3/valid2.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;items id="102" xsi:type="SomeType2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;item&gt;abc&lt;/item&gt;
  &lt;item2&gt;123&lt;/item2&gt;
&lt;/items&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_xsiTest3_main.cpp">Tests/xplus_tests/xsiTest3/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_fixedTest">Tests/xplus_tests/fixedTest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_fixedTest_fixedTest.xsd">Tests/xplus_tests/fixedTest/fixedTest.xsd</a>
<li> <a href="#Tests_xplus_tests_fixedTest_t1.xml">Tests/xplus_tests/fixedTest/t1.xml</a>
<li> <a href="#Tests_xplus_tests_fixedTest_t2.xml">Tests/xplus_tests/fixedTest/t2.xml</a>
<li> <a href="#Tests_xplus_tests_fixedTest_t3.xml">Tests/xplus_tests/fixedTest/t3.xml</a>
<li> <a href="#Tests_xplus_tests_fixedTest_main.cpp">Tests/xplus_tests/fixedTest/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_fixedTest_fixedTest.xsd">Tests/xplus_tests/fixedTest/fixedTest.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

	&lt;xsd:element name="root"&gt;
    &lt;xsd:complexType&gt;
      &lt;xsd:sequence&gt;
        &lt;xsd:element name="e1" type="xsd:int" minOccurs="0" fixed="500"/&gt;
        &lt;xsd:element name="e2" type="xsd:int" fixed="600"/&gt;
      &lt;/xsd:sequence&gt;
      &lt;xsd:attribute name="a1" type="xsd:int" fixed="100" use="optional"/&gt;
      &lt;xsd:attribute name="a2" type="xsd:int" fixed="200" use="required"/&gt;
      &lt;xsd:attribute name="a3" type="xsd:int"/&gt;
    &lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;
	

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_fixedTest_t1.xml">Tests/xplus_tests/fixedTest/t1.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a2="200"&gt;
  &lt;e1&gt;500&lt;/e1&gt;
  &lt;e2&gt;600&lt;/e2&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_fixedTest_t2.xml">Tests/xplus_tests/fixedTest/t2.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a1="50" a2="75"&gt;
  &lt;e1&gt;800&lt;/e1&gt;
  &lt;e2&gt;900&lt;/e2&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_fixedTest_t3.xml">Tests/xplus_tests/fixedTest/t3.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a1="100" a2="200" a3="300"&gt;
  &lt;e1&gt;500&lt;/e1&gt;
  &lt;e2&gt;600&lt;/e2&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_fixedTest_main.cpp">Tests/xplus_tests/fixedTest/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_xsiTest2">Tests/xplus_tests/xsiTest2</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_xsiTest2_xsiTest2.xsd">Tests/xplus_tests/xsiTest2/xsiTest2.xsd</a>
<li> <a href="#Tests_xplus_tests_xsiTest2_valid2.xml">Tests/xplus_tests/xsiTest2/valid2.xml</a>
<li> <a href="#Tests_xplus_tests_xsiTest2_main.cpp">Tests/xplus_tests/xsiTest2/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_xsiTest2_xsiTest2.xsd">Tests/xplus_tests/xsiTest2/xsiTest2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  elementFormDefault="qualified"
  &gt;

  &lt;xsd:complexType name="SomeType" abstract="true"&gt;
    &lt;xsd:sequence&gt;
      &lt;xsd:element name="item" type="xsd:string"/&gt;
    &lt;/xsd:sequence&gt;
    &lt;xsd:attribute name="id" type="xsd:string" default="102"/&gt;
  &lt;/xsd:complexType&gt;  

  &lt;xsd:complexType name="SomeType2"&gt;
    &lt;xsd:complexContent&gt;
      &lt;xsd:extension base="SomeType"&gt;
        &lt;xsd:sequence&gt;
          &lt;xsd:element name="item2" type="xsd:int"/&gt;
        &lt;/xsd:sequence&gt;
      &lt;/xsd:extension&gt;
    &lt;/xsd:complexContent&gt;
  &lt;/xsd:complexType&gt;  

  &lt;xsd:element name="root"&gt;
    &lt;xsd:complexType&gt;
      &lt;xsd:sequence&gt;
        &lt;xsd:element name="items" type="SomeType"/&gt;
      &lt;/xsd:sequence&gt;
    &lt;/xsd:complexType&gt;  
  &lt;/xsd:element&gt;

&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_xsiTest2_valid2.xml">Tests/xplus_tests/xsiTest2/valid2.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;

&lt;root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &gt;
  &lt;items id="102" xsi:type="SomeType2"&gt;
    &lt;item&gt;abc&lt;/item&gt;
    &lt;item2&gt;123&lt;/item2&gt;
  &lt;/items&gt;
&lt;/root&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_xsiTest2_main.cpp">Tests/xplus_tests/xsiTest2/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{

}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  </pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_nillableTest">Tests/xplus_tests/nillableTest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_nillableTest_nillableTest.xsd">Tests/xplus_tests/nillableTest/nillableTest.xsd</a>
<li> <a href="#Tests_xplus_tests_nillableTest_valid2.xml">Tests/xplus_tests/nillableTest/valid2.xml</a>
<li> <a href="#Tests_xplus_tests_nillableTest_valid.xml">Tests/xplus_tests/nillableTest/valid.xml</a>
<li> <a href="#Tests_xplus_tests_nillableTest_main.cpp">Tests/xplus_tests/nillableTest/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_nillableTest_nillableTest.xsd">Tests/xplus_tests/nillableTest/nillableTest.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  elementFormDefault="qualified"
  &gt;

  &lt;xsd:complexType name="SomeType"&gt;
    &lt;xsd:sequence&gt;
      &lt;xsd:element name="item" type="xsd:string" minOccurs="3" maxOccurs="3"/&gt;
    &lt;/xsd:sequence&gt;
    &lt;xsd:attribute name="id" type="xsd:string" default="102"/&gt;
  &lt;/xsd:complexType&gt;  

  &lt;xsd:element name="root"&gt;
    &lt;xsd:complexType&gt;
      &lt;xsd:sequence&gt;
        &lt;xsd:element name="items" type="SomeType" nillable="true"/&gt;
      &lt;/xsd:sequence&gt;
    &lt;/xsd:complexType&gt;  
  &lt;/xsd:element&gt;

&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_nillableTest_valid2.xml">Tests/xplus_tests/nillableTest/valid2.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;items id="102" xsi:nil="true"/&gt;
&lt;/root&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_nillableTest_valid.xml">Tests/xplus_tests/nillableTest/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root&gt;
  &lt;items id="102"&gt;
    &lt;item&gt;item 1&lt;/item&gt;
    &lt;item&gt;item 2&lt;/item&gt;
    &lt;item&gt;item 3&lt;/item&gt;
  &lt;/items&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_nillableTest_main.cpp">Tests/xplus_tests/nillableTest/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  NoNS::root::items* pItems =  xsdDoc-&gt;element_root()-&gt;element_items();
  pItems-&gt;set_attr_id("100");
  pItems-&gt;set_item(0, "item 1");
  pItems-&gt;set_item(1, "item 2");
  pItems-&gt;set_item(2, "item 3");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_choice">Tests/xplus_tests/choice</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_choice_choice.xsd">Tests/xplus_tests/choice/choice.xsd</a>
<li> <a href="#Tests_xplus_tests_choice_valid.xml">Tests/xplus_tests/choice/valid.xml</a>
<li> <a href="#Tests_xplus_tests_choice_main.cpp">Tests/xplus_tests/choice/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_choice_choice.xsd">Tests/xplus_tests/choice/choice.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;xs:schema 
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:ns1="urn:ns1"
        targetNamespace="urn:ns1"
        version="0.1" elementFormDefault="qualified"&gt; 


  &lt;element name="elem" type="ns1:ElemType"/&gt; 
  &lt;complexType name="ElemType" mixed="true"&gt;
    &lt;choice&gt;     
      &lt;element name="e1" type="xs:string"/&gt; 
      &lt;element name="e2" type="xs:string"/&gt; 
    &lt;/choice&gt;
  &lt;/complexType&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_choice_valid.xml">Tests/xplus_tests/choice/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;ns1:elem xmlns:ns1="urn:ns1"&gt;
  &lt;ns1:e1&gt;e1 value&lt;/ns1:e1&gt;
&lt;/ns1:elem&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_choice_main.cpp">Tests/xplus_tests/choice/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "ns1/all-include.h"

void populateDocument(ns1::Document* xsdDoc);
void updateOrConsumeDocument(ns1::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;ns1::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;ns1::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(ns1::Document* xsdDoc)
{
  xsdDoc-&gt;element_elem()-&gt;set_e1("e1 value");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(ns1::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ccRest">Tests/xplus_tests/ccRest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ccRest_ccRest.xsd">Tests/xplus_tests/ccRest/ccRest.xsd</a>
<li> <a href="#Tests_xplus_tests_ccRest_valid.xml">Tests/xplus_tests/ccRest/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ccRest_main.cpp">Tests/xplus_tests/ccRest/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ccRest_ccRest.xsd">Tests/xplus_tests/ccRest/ccRest.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:complexType name="ComplexTypeSeq"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="e1" minOccurs="0" maxOccurs="unbounded"/&gt;
      &lt;xs:element name="e2" minOccurs="0"/&gt;
      &lt;xs:element name="e3"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:attribute name="a1" type="xs:ID" use="optional"/&gt;
    &lt;xs:attribute name="a2" type="xs:int" use="optional"/&gt;
  &lt;/xs:complexType&gt;

  &lt;xs:complexType name="ComplexTypeCCRestn"&gt;
    &lt;xs:complexContent mixed="true"&gt;
      &lt;xs:restriction base="ComplexTypeSeq"&gt;
        &lt;xs:sequence&gt;
          &lt;xs:element name="e1" minOccurs="1" maxOccurs="1"/&gt;
          &lt;xs:element name="e3"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:attribute name="a2" type="xs:int" use="required"/&gt;
      &lt;/xs:restriction&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;

  &lt;xs:element name="root" type="ComplexTypeCCRestn"/&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest_valid.xml">Tests/xplus_tests/ccRest/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root a2="200" a1="IDA1"&gt;
  &lt;e1&gt;e1 value&lt;/e1&gt;
  &lt;e3&gt;e3 value&lt;/e3&gt;
&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest_main.cpp">Tests/xplus_tests/ccRest/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_attr_a1("IDA1");
  xsdDoc-&gt;element_root()-&gt;set_attr_a2("200");
  
  // need revisit for API on anyType :
  xsdDoc-&gt;element_root()-&gt;element_e1()-&gt;stringValue("e1 value");
  xsdDoc-&gt;element_root()-&gt;element_e3()-&gt;stringValue("e3 value");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ccRest4">Tests/xplus_tests/ccRest4</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ccRest4_ccRest4.xsd">Tests/xplus_tests/ccRest4/ccRest4.xsd</a>
<li> <a href="#Tests_xplus_tests_ccRest4_valid.xml">Tests/xplus_tests/ccRest4/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ccRest4_main.cpp">Tests/xplus_tests/ccRest4/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ccRest4_ccRest4.xsd">Tests/xplus_tests/ccRest4/ccRest4.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:element name="depth"&gt;
    &lt;xs:complexType&gt;
     &lt;xs:complexContent&gt;
      &lt;xs:restriction base="xs:anyType"&gt;
       &lt;xs:sequence&gt;
        &lt;xs:element name="size" type="xs:nonNegativeInteger"/&gt;
        &lt;xs:element name="unit" type="xs:NMTOKEN"/&gt;
       &lt;/xs:sequence&gt;
      &lt;/xs:restriction&gt;
     &lt;/xs:complexContent&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;

  &lt;!--
    &lt;depth&gt;
     &lt;size&gt;25&lt;/size&gt;&lt;unit&gt;cm&lt;/unit&gt;
    &lt;/depth&gt;
  --&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest4_valid.xml">Tests/xplus_tests/ccRest4/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;depth&gt;
  &lt;size&gt;25&lt;/size&gt;
  &lt;unit&gt;cm&lt;/unit&gt;
&lt;/depth&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ccRest4_main.cpp">Tests/xplus_tests/ccRest4/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_depth()-&gt;set_size(25);
  xsdDoc-&gt;element_depth()-&gt;set_unit("cm");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_scExt4">Tests/xplus_tests/scExt4</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_scExt4_scExt4.xsd">Tests/xplus_tests/scExt4/scExt4.xsd</a>
<li> <a href="#Tests_xplus_tests_scExt4_valid.xml">Tests/xplus_tests/scExt4/valid.xml</a>
<li> <a href="#Tests_xplus_tests_scExt4_main.cpp">Tests/xplus_tests/scExt4/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_scExt4_scExt4.xsd">Tests/xplus_tests/scExt4/scExt4.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xsd:simpleType name="aStringOfLen50"&gt;
    &lt;xsd:restriction base='xsd:string'&gt;
      &lt;xsd:maxLength value='50'/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:complexType name="ComplexTypeSCExtn"&gt;
    &lt;xsd:simpleContent&gt;
      &lt;xsd:extension base="aStringOfLen50"&gt;
        &lt;xsd:attribute name="id" type="xsd:ID" use="required"/&gt;
      &lt;/xsd:extension&gt;
    &lt;/xsd:simpleContent&gt;
  &lt;/xsd:complexType&gt;

  &lt;xsd:complexType name="ComplexTypeSCExtn2"&gt;
    &lt;xsd:simpleContent&gt;
      &lt;xsd:extension base="ComplexTypeSCExtn"&gt;
        &lt;xsd:attribute name="idx" type="xsd:int" use="required"/&gt;
      &lt;/xsd:extension&gt;
    &lt;/xsd:simpleContent&gt;
  &lt;/xsd:complexType&gt;


  &lt;xsd:element name="root" type="ComplexTypeSCExtn2"/&gt; 

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt4_valid.xml">Tests/xplus_tests/scExt4/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root id="ID1" idx="100"&gt;simple content with extension&lt;/root&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_scExt4_main.cpp">Tests/xplus_tests/scExt4/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  xsdDoc-&gt;element_root()-&gt;set_attr_id("ID1");
  xsdDoc-&gt;element_root()-&gt;set_attr_idx("100");
  xsdDoc-&gt;element_root()-&gt;stringValue("simple content with extension");
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_tests_ctAnyTypeRest">Tests/xplus_tests/ctAnyTypeRest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_tests_ctAnyTypeRest_ctAnyTypeRest.xsd">Tests/xplus_tests/ctAnyTypeRest/ctAnyTypeRest.xsd</a>
<li> <a href="#Tests_xplus_tests_ctAnyTypeRest_valid.xml">Tests/xplus_tests/ctAnyTypeRest/valid.xml</a>
<li> <a href="#Tests_xplus_tests_ctAnyTypeRest_main.cpp">Tests/xplus_tests/ctAnyTypeRest/main.cpp</a>
</ul>
<h3><a name="Tests_xplus_tests_ctAnyTypeRest_ctAnyTypeRest.xsd">Tests/xplus_tests/ctAnyTypeRest/ctAnyTypeRest.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xs:complexType name="anyThing" mixed="false"/&gt;
  &lt;xs:element name="root" type="anyThing"/&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ctAnyTypeRest_valid.xml">Tests/xplus_tests/ctAnyTypeRest/valid.xml</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;?xml version="1.0"?&gt;
&lt;root/&gt;</pre>
</div>
<br><br>
<h3><a name="Tests_xplus_tests_ctAnyTypeRest_main.cpp">Tests/xplus_tests/ctAnyTypeRest/main.cpp</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>

 //
 //  This file was automatically generated using XmlPlus xsd2cpp tool.
 //  On subsequent "xsd2cpp" invocations, this file would not be overwritten.
 //  You can edit this file.
 //
  
#include &lt;iostream&gt;
#include &lt;string&gt;

#include "XSD/UserOps.h"
#include "NoNS/all-include.h"

void populateDocument(NoNS::Document* xsdDoc);
void updateOrConsumeDocument(NoNS::Document* xsdDoc);
    

int main (int argc, char** argv)
{
  XSD::UserOps&lt;NoNS::Document&gt;::UserOpsCbStruct cbStruct;
  cbStruct.cbPopulateDocument           =  populateDocument;
  cbStruct.cbUpdateOrConsumeDocument    =  updateOrConsumeDocument;
  

  XSD::UserOps&lt;NoNS::Document&gt; opHandle(cbStruct);
  opHandle.run(argc, argv);
}

//
// Following functions are use case templates.
// You need to put "code" in the respective contexts.
//

    

// template function to populate the Tree with values
// write code to populate the Document here ...
void populateDocument(NoNS::Document* xsdDoc)
{
  // need revisit for API on anyType :
  //cout &lt;&lt; "contentType:" &lt;&lt; xsdDoc-&gt;element_root()-&gt;contentType() &lt;&lt; endl;
  cout &lt;&lt; endl;
  //xsdDoc-&gt;element_root()-&gt;stringValue("abcd");
  cout &lt;&lt; endl;
}

// write code to operate(update/consume/test etc.) on the Document here...
// This Document is typically already populated(eg. read from an input
// xml file)
void updateOrConsumeDocument(NoNS::Document* xsdDoc)
{

}

  
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_scRest2">Tests/xplus_neg_tests/scRest2</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_scRest2_scRest2.xsd">Tests/xplus_neg_tests/scRest2/scRest2.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_scRest2_scRest2.xsd">Tests/xplus_neg_tests/scRest2/scRest2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xsd:simpleType name="anInt1To200"&gt;
    &lt;xsd:restriction base="xsd:int"&gt;
      &lt;xsd:minInclusive value="1"/&gt;
      &lt;xsd:maxInclusive value="200"/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:complexType name="ComplexTypeSCRestn"&gt;
    &lt;xsd:simpleContent&gt;
      &lt;xsd:restriction base="anInt1To200"&gt;
        &lt;xsd:minInclusive value="1"/&gt;
        &lt;xsd:maxInclusive value="100"/&gt;
        &lt;xsd:attribute name="id" type="xsd:string"/&gt;
      &lt;/xsd:restriction&gt;
    &lt;/xsd:simpleContent&gt;
  &lt;/xsd:complexType&gt;

  &lt;xsd:element name="root" type="ComplexTypeSCRestn"/&gt; 

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_ccExtAny">Tests/xplus_neg_tests/ccExtAny</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_ccExtAny_ccExtAny.xsd">Tests/xplus_neg_tests/ccExtAny/ccExtAny.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_ccExtAny_ccExtAny.xsd">Tests/xplus_neg_tests/ccExtAny/ccExtAny.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;

  &lt;xsd:complexType name="AnyComplexType"&gt;
    &lt;xsd:complexContent&gt;
      &lt;xsd:extension base="xsd:anyType"/&gt;
    &lt;/xsd:complexContent&gt;
  &lt;/xsd:complexType&gt;

  &lt;xsd:element name="root" type="AnyComplexType"/&gt; 

&lt;/xsd:schema&gt;   
    
 
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_scRest4">Tests/xplus_neg_tests/scRest4</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_scRest4_scRest4.xsd">Tests/xplus_neg_tests/scRest4/scRest4.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_scRest4_scRest4.xsd">Tests/xplus_neg_tests/scRest4/scRest4.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
  
  &lt;xsd:simpleType name="anInt1To200"&gt;
    &lt;xsd:restriction base="xsd:int"&gt;
      &lt;xsd:minInclusive value="1"/&gt;
      &lt;xsd:maxInclusive value="200"/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:element name="root"&gt; 
    &lt;xsd:complexType&gt;
      &lt;xsd:simpleContent&gt;
        &lt;xsd:restriction base="anInt1To200"&gt;
          &lt;xsd:minInclusive value="1"/&gt;
          &lt;xsd:maxInclusive value="100"/&gt;
          &lt;xsd:attribute name="id" type="xsd:string"/&gt;
        &lt;/xsd:restriction&gt;
      &lt;/xsd:simpleContent&gt;
    &lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;  


&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_scRest">Tests/xplus_neg_tests/scRest</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_scRest_scRest.xsd">Tests/xplus_neg_tests/scRest/scRest.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_scRest_scRest.xsd">Tests/xplus_neg_tests/scRest/scRest.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;


  &lt;xsd:complexType name="ComplexTypeSCRestn"&gt;
    &lt;xsd:simpleContent&gt;
      &lt;xsd:restriction base="xsd:int"&gt;
        &lt;xsd:minInclusive value="1"/&gt;
        &lt;xsd:maxInclusive value="99"/&gt;
        &lt;xsd:attribute name="id" type="xsd:ID" use="required"/&gt;
      &lt;/xsd:restriction&gt;
    &lt;/xsd:simpleContent&gt;
  &lt;/xsd:complexType&gt;

  &lt;xsd:element name="root" type="ComplexTypeSCRestn"/&gt; 

&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_ccExt2">Tests/xplus_neg_tests/ccExt2</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_ccExt2_ccExt2.xsd">Tests/xplus_neg_tests/ccExt2/ccExt2.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_ccExt2_ccExt2.xsd">Tests/xplus_neg_tests/ccExt2/ccExt2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xs:schema xmlns="http://cscB2BCIDXSchemas.Schema1" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://cscB2BCIDXSchemas.Schema1" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xs:element name="Root" type="Type1" /&gt;
  &lt;xs:element name="Record" type="Type2" /&gt;

  &lt;!-- try mixed="true" --&gt;
  &lt;xs:complexType name="Type1"&gt;
    &lt;xs:simpleContent&gt;
      &lt;xs:extension base="xs:string"&gt;
        &lt;xs:attribute name="Field1" type="xs:string" /&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:simpleContent&gt;
  &lt;/xs:complexType&gt;

  &lt;!-- try mixed="true" --&gt;
  &lt;xs:complexType name="Type2"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="Type1"&gt;
        &lt;xs:attribute name="Field2" type="xs:string" /&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;

&lt;/xs:schema&gt;
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_stInvalidDerivation3">Tests/xplus_neg_tests/stInvalidDerivation3</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_stInvalidDerivation3_stInvalidDerivation3.xsd">Tests/xplus_neg_tests/stInvalidDerivation3/stInvalidDerivation3.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_stInvalidDerivation3_stInvalidDerivation3.xsd">Tests/xplus_neg_tests/stInvalidDerivation3/stInvalidDerivation3.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="http://www.example.com/STDemo"
xmlns:tns="http://www.example.com/STDemo"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
&gt;

  &lt;xsd:simpleType name='IntMax5k'&gt;
    &lt;xsd:restriction base='xsd:int'&gt;
      &lt;xsd:maxExclusive value='5000'/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:simpleType name='ListOfIntMax5k'&gt;
    &lt;xsd:list itemType='tns:IntMax5k'/&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:simpleType name='ListOfIntMax3k' final="restriction"&gt;
    &lt;xsd:list&gt;
      &lt;xsd:simpleType&gt;
        &lt;xsd:restriction&gt;
          &lt;xsd:simpleType&gt;
            &lt;xsd:restriction base='tns:IntMax5k'&gt;
              &lt;xsd:maxExclusive value='4000'/&gt;
            &lt;/xsd:restriction&gt;
          &lt;/xsd:simpleType&gt;
          &lt;xsd:maxExclusive value='3000'/&gt;
        &lt;/xsd:restriction&gt;
      &lt;/xsd:simpleType&gt;
    &lt;/xsd:list&gt;  
  &lt;/xsd:simpleType&gt;

  &lt;xsd:simpleType name='ListOfTwoIntMax3k'&gt;
    &lt;xsd:restriction base='tns:ListOfIntMax3k'&gt;
      &lt;xsd:maxLength value='2'/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:element name="elem" type="tns:ListOfTwoIntMax3k"/&gt;
  
&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_stInvalidDerivation1">Tests/xplus_neg_tests/stInvalidDerivation1</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_stInvalidDerivation1_stInvalidDerivation1.xsd">Tests/xplus_neg_tests/stInvalidDerivation1/stInvalidDerivation1.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_stInvalidDerivation1_stInvalidDerivation1.xsd">Tests/xplus_neg_tests/stInvalidDerivation1/stInvalidDerivation1.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="http://www.example.com/STDemo"
xmlns:tns="http://www.example.com/STDemo"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
&gt;

  &lt;xsd:simpleType name='IntMax5k' final="list"&gt;
    &lt;xsd:restriction base='xsd:int'&gt;
      &lt;xsd:maxExclusive value='5000'/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:simpleType name='ListOfIntMax5k'&gt;
    &lt;xsd:list itemType='tns:IntMax5k'/&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:element name="elem" type="tns:ListOfIntMax5k"/&gt;
  
&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_scRest3">Tests/xplus_neg_tests/scRest3</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_scRest3_scRest3.xsd">Tests/xplus_neg_tests/scRest3/scRest3.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_scRest3_scRest3.xsd">Tests/xplus_neg_tests/scRest3/scRest3.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;

  &lt;xsd:element name="root" &gt; 
    &lt;xsd:complexType&gt;
      &lt;xsd:simpleContent&gt;
        &lt;xsd:restriction base="xsd:int"&gt;
          &lt;xsd:minInclusive value="1"/&gt;
          &lt;xsd:maxInclusive value="99"/&gt;
          &lt;xsd:attribute name="id" type="xsd:ID" use="required"/&gt;
        &lt;/xsd:restriction&gt;
      &lt;/xsd:simpleContent&gt;
    &lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;


&lt;/xsd:schema&gt;
</pre>
</div>
<br><br>
<br>
<h2><a name="Tests_xplus_neg_tests_stInvalidDerivation2">Tests/xplus_neg_tests/stInvalidDerivation2</a></h2>
<hr NOSHADE SIZE=2 WIDTH=100%>
<ul>
<li> <a href="#Tests_xplus_neg_tests_stInvalidDerivation2_stInvalidDerivation2.xsd">Tests/xplus_neg_tests/stInvalidDerivation2/stInvalidDerivation2.xsd</a>
</ul>
<h3><a name="Tests_xplus_neg_tests_stInvalidDerivation2_stInvalidDerivation2.xsd">Tests/xplus_neg_tests/stInvalidDerivation2/stInvalidDerivation2.xsd</a></h3>
<div style="border:1px dotted black; padding:0em; background-color:#E6E6FA;">
<pre>
&lt;xsd:schema
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="http://www.example.com/STDemo"
xmlns:tns="http://www.example.com/STDemo"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
&gt;
  &lt;xsd:simpleType name="Fontbynumber"&gt;
    &lt;xsd:restriction base="xsd:positiveInteger"&gt;
      &lt;xsd:maxInclusive value="72"/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:simpleType name="Fontbystringname" final="union"&gt;
    &lt;xsd:restriction base="xsd:string"&gt;
      &lt;xsd:enumeration value="small"/&gt;
      &lt;xsd:enumeration value="medium"/&gt;
      &lt;xsd:enumeration value="large"/&gt;
    &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:simpleType name="Font"&gt;
    &lt;xsd:union memberTypes="tns:Fontbynumber tns:Fontbystringname"/&gt;
  &lt;/xsd:simpleType&gt;

  &lt;xsd:element name="elem" type="tns:Font"/&gt;
  
&lt;/xsd:schema&gt;

</pre>
</div>
<br><br>
<br>
</form></body></html>
